home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-12 | 36.1 KB | 1,189 lines | [TEXT/CCL2] |
-
- (in-package :TRAPS) ; ***********************************************************
- ;
- ; Created: Monday, November 8, 1993 11:57AM
- ; OCEMessaging.p
- ; Pascal Interface to the Macintosh Libraries
- ;
- ; Copyright Apple Computer, Inc. 1990-1993
- ; All rights reserved
- ;
- ; ***********************************************************
-
- ; $IFC UNDEFINED UsingIncludes
- ; $SETC UsingIncludes:= 0
- ; $ENDC
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
- ; $IFC UNDEFINED UsingOCEMessaging
- ; $SETC UsingOCEMessaging:= 1
-
- ; $I+
- ; $SETC OCEMessagingIncludes:= UsingIncludes
- ; $SETC UsingIncludes:= 1
-
- ; $IFC UNDEFINED UsingDigitalSignature
- ; $I DigitalSignature.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingFiles
-
- (require-interface 'FILES) ; $I $$Shell(PInterfaces)Files.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingOCE
- ; $I OCE.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingOCEAuthDir
- ; $I OCEAuthDir.p
- ; $ENDC
-
- ; $IFC UNDEFINED UsingTypes
-
- (require-interface 'TYPES) ; $I $$Shell(PInterfaces)Types.p
- ; $ENDC
-
- ; $SETC UsingIncludes:= OCEMessagingIncludes
-
- ; ****************************************************************************
- ; Definitions common to OCEMessaging and to OCEMail. These relate to addressing,
- ; message ids and priorities, etc.
-
- ; Values of IPMPriority
-
- (defconstant $kIPMAnyPriority 0); FOR FILTER ONLY
- (defconstant $kIPMNormalPriority 1)
-
- (def-mactype :IPMPRIORITY (find-mactype :UNSIGNED-BYTE))
-
- ; Values of IPMAccessMode
- (defconstant $kIPMAtMark 0)
- (defconstant $kIPMFromStart 1)
- (defconstant $kIPMFromLEOM 2)
- (defconstant $kIPMFromMark 3)
-
- (def-mactype :IPMACCESSMODE (find-mactype :SIGNED-INTEGER))
-
- (defconstant $kIPMUpdateMsgBit 4)
- (defconstant $kIPMNewMsgBit 5)
- (defconstant $kIPMDeleteMsgBit 6)
-
- ; Values of IPMNotificationType
- (defconstant $kIPMUpdateMsgMask #X10); 1<<kIPMUpdateMsgBit
- (defconstant $kIPMNewMsgMask #X20); 1<<kIPMNewMsgBit
- (defconstant $kIPMDeleteMsgMask #X40); 1<<kIPMDeleteMsgBit
-
- (def-mactype :IPMNOTIFICATIONTYPE (find-mactype :UNSIGNED-BYTE))
-
- ; Values of IPMSenderTag
- (defconstant $kIPMSenderRStringTag 0)
- (defconstant $kIPMSenderRecordIDTag 1)
-
- (def-mactype :IPMSENDERTAG (find-mactype :SIGNED-INTEGER))
-
- (defconstant $kIPMFromDistListBit 0)
- (defconstant $kIPMDummyRecBit 1)
- (defconstant $kIPMFeedbackRecBit 2); should be redirected to feedback queue
- (defconstant $kIPMReporterRecBit 3); should be redirected to reporter original queue
- (defconstant $kIPMBCCRecBit 4) ; this recipient is blind to all recipients of message
-
- ; Values of OCERecipientOffsetFlags
- (defconstant $kIPMFromDistListMask #X1); 1<<kIPMFromDistListBit
- (defconstant $kIPMDummyRecMask #X2); 1<<kIPMDummyRecBit
- (defconstant $kIPMFeedbackRecMask #X4); 1<<kIPMFeedbackRecBit
- (defconstant $kIPMReporterRecMask #X8); 1<<kIPMReporterRecBit
- (defconstant $kIPMBCCRecMask #X10); 1<<kIPMBCCRecBit
-
- (def-mactype :OCERECIPIENTOFFSETFLAGS (find-mactype :UNSIGNED-BYTE))
-
- (defrecord OCECreatorType
- (msgCreator :OSTYPE)
- (msgType :OSTYPE)
- )
-
- (defconstant $kIPMTypeWildCard :|ipmw|)
-
- (defconstant $kIPMFamilyUnspecified 0)
- (defconstant $kIPMFamilyWildCard :|????|)
-
- ; well known signature
- (defconstant $kIPMSignature :|ipms|); base type
-
- ; well known message types
- (defconstant $kIPMReportNotify :|rptn|); routing feedback
-
- ; well known message block types
- (defconstant $kIPMEnclosedMsgType :|emsg|); enclosed (nested) message
- (defconstant $kIPMReportInfo :|rpti|); recipient information
- (defconstant $kIPMDigitalSignature :|dsig|); digital signature
-
- ; Values of IPMMsgFormat
- (defconstant $kIPMOSFormatType 1)
- (defconstant $kIPMStringFormatType 2)
-
- (def-mactype :IPMMSGFORMAT (find-mactype :SIGNED-INTEGER))
-
- (def-mactype :IPMSTRINGMSGTYPE (find-mactype :STRING))
-
- (defrecord IPMMsgType
- (format :SIGNED-INTEGER) ; IPMMsgFormat
- (:variant
- ((msgOSType :OCECREATORTYPE))
- ((msgStrType (:STRING 32)))
- ))
-
- ;
- ; Following are the known extension values for IPM addresses handled by Apple.
- ; We define the definition of the entn extension below.
- ;
-
- (defconstant $kOCEalanXtn :|alan|)
- (defconstant $kOCEentnXtn :|entn|); entn = entity name (DSSpec: aka)
- (defconstant $kOCEaphnXtn :|aphn|)
-
- ;
- ; Following are the specific definitions for the extension for the standard
- ; OCEMail 'entn' addresses. [Note, the actual extension is formatted as in
- ; IPMEntityNameExtension.]
- ;
-
- ; entn extension forms
- (defconstant $kOCEAddrXtn :|addr|)
- (defconstant $kOCEQnamXtn :|qnam|)
- (defconstant $kOCEAttrXtn :|attr|); an attribute specification
- (defconstant $kOCESpAtXtn :|spat|); specific attribute
-
- ;
- ; Following are the specific definitions for standard
- ; OCEMail 'aphn' extension value.
- ;
- ; All RStrings here are packed (e.g. truncated to length) and even padded (e.g.
- ; if length odd, then a pad byte (zero) should be introduced before the next field).
- ;
- ; The extension value is in the packed form of the following structure:
- ; RString phoneNumber;
- ; RString modemType;
- ; Str32 queueuName;
- ;
- ; The body of phoneNumber compound RString is in the packed form of the following structure:
- ; short subType;
- ; RString countryCode; // used when subType == kOCEUseHandyDial
- ; RString areaCode; // used when subType == kOCEUseHandyDial
- ; RString phone; // used when subType == kOCEUseHandyDial
- ; RString postFix; // used when subType == kOCEUseHandyDial
- ; RString nonHandyDialString; // used when subType == kOCEDontUseHandyDial
- ;
-
- ; phoneNumber sub type constants
-
- (defconstant $kOCEUseHandyDial 1)
- (defconstant $kOCEDontUseHandyDial 2)
-
- (defrecord ProtoOCEPackedRecipient
- (dataLength :SIGNED-INTEGER)
- )
-
- (defconstant $kOCEPackedRecipientMaxBytes (- 4096 (RECORD-LENGTH PROTOOCEPACKEDRECIPIENT)))
-
- (defrecord OCEPackedRecipient
- (dataLength :SIGNED-INTEGER)
-
- (data (:ARRAY :UNSIGNED-BYTE 4094))
- )
- (def-mactype :OCEPACKEDRECIPIENTPTR (find-mactype :POINTER))
-
- (defrecord IPMEntnQueueExtension
- (queueName (:STRING 32))
- )
-
- (defrecord IPMEntnAttributeExtension ; kOCEAttrXtn
- (attributeName :ATTRIBUTETYPE)
- )
-
- (defrecord IPMEntnSpecificAttributeExtension ; kOCESpAtXtn
- (AttributeCreationID :CREATIONID)
- (attributeName :ATTRIBUTETYPE)
- )
-
- ; All IPM entn extensions fit within the following
-
- (defrecord IPMEntityNameExtension
- (subExtensionType :OSTYPE)
- (:variant
- ((specificAttribute :IPMENTNSPECIFICATTRIBUTEEXTENSION))
- ((attribute :IPMENTNATTRIBUTEEXTENSION))
- ((queue :IPMENTNQUEUEEXTENSION))
- ))
-
- ; addresses with kIPMNBPXtn should specify this nbp type
-
- (defconstant $kIPMWSReceiverNBPType "MsgReceiver")
-
- (defrecord IPMMsgID
- (id (:ARRAY :SIGNED-LONG (- 4 1 -1)))
- )
-
- ; Values of IPMHeaderSelector
- (defconstant $kIPMTOC 0)
- (defconstant $kIPMSender 1)
- (defconstant $kIPMProcessHint 2)
- (defconstant $kIPMMessageTitle 3)
- (defconstant $kIPMMessageType 4)
- (defconstant $kIPMFixedInfo 7)
-
- (def-mactype :IPMHEADERSELECTOR (find-mactype :UNSIGNED-BYTE))
-
- (defrecord IPMSender
- (sendTag :SIGNED-INTEGER)
- (:variant
- ((RString :RSTRING))
- ((rid :PACKEDRECORDID))
- ))
-
- (%define-record :OCERECIPIENT (find-record-descriptor :DSSPEC))
-
- ; ****************************************************************************
- ; Definitions specific to OCEMessaging
-
- (def-mactype :IPMCONTEXTREF (find-mactype :SIGNED-LONG))
- (def-mactype :IPMQUEUEREF (find-mactype :SIGNED-LONG))
- (def-mactype :IPMMSGREF (find-mactype :SIGNED-LONG))
- (def-mactype :IPMSEQNUM (find-mactype :SIGNED-LONG))
- (def-mactype :IPMPROCHINT (find-mactype :STRING))
- (def-mactype :IPMQUEUENAME (find-mactype :STRING))
-
- (def-mactype :IPMNOTEPROCPTR (find-mactype :POINTER))
- ; FUNCTION IPMNoteProcPtr(queue: IPMQueueRef; seqNum: IPMSeqNum;
- ; notificationType: IPMNotificationType; userData: LONGINT): void;
-
- (defrecord IPMFixedHdrInfo
- (version :SIGNED-INTEGER)
-
- ; ERROR!! Record field AUTHENTICATED declared PACKED BOOLEAN !
- (authenticated :BOOLEAN)
-
- ; ERROR!! Record field SIGNATUREENCLOSED declared PACKED BOOLEAN !
- (signatureEnclosed :BOOLEAN) ; digital signature enclosed
- (msgSize :SIGNED-LONG)
- (notification :UNSIGNED-BYTE)
- (priority :UNSIGNED-BYTE)
- (blockCount :SIGNED-INTEGER)
- (originalRcptCount :SIGNED-INTEGER); original number of recipients
- (refCon :SIGNED-LONG) ; Client defined data
- (reserved :SIGNED-INTEGER)
- (creationTime :SIGNED-LONG) ; Time when it was created
- (msgID :IPMMSGID)
- (family :OSTYPE) ; family this msg belongs (e.g. mail)
- )
-
- (defconstant $kIPMDeliveryNotificationBit 0)
- (defconstant $kIPMNonDeliveryNotificationBit 1)
- (defconstant $kIPMEncloseOriginalBit 2)
- (defconstant $kIPMSummaryReportBit 3)
- (defconstant $kIPMOriginalOnlyOnErrorBit 4); modify enclose original to only on error
-
- (defconstant $kIPMNoNotificationMask #X0)
- (defconstant $kIPMDeliveryNotificationMask #X1); 1<<kIPMDeliveryNotificationBit
- (defconstant $kIPMNonDeliveryNotificationMask #X2); 1<<kIPMNonDeliveryNotificationBit
- (defconstant $kIPMDontEncloseOriginalMask #X0)
- (defconstant $kIPMEncloseOriginalMask #X4); 1<<kIPMEncloseOriginalBit
- (defconstant $kIPMImmediateReportMask #X0)
- (defconstant $kIPMSummaryReportMask #X8); 1<<kIPMSummaryReportBit
- (defconstant $kIPMOriginalOnlyOnErrorMask #X10); 1<<kIPMOriginalOnlyOnErrorBit
- (defconstant $kIPMEncloseOriginalOnErrorMask (+ #$KIPMORIGINALONLYONERRORMASK #$KIPMENCLOSEORIGINALMASK))
-
- ; standard Non delivery codes
- (defconstant $kIPMNoSuchRecipient #X1)
- (defconstant $kIPMRecipientMalformed #X2)
- (defconstant $kIPMRecipientAmbiguous #X3)
- (defconstant $kIPMRecipientAccessDenied #X4)
- (defconstant $kIPMGroupExpansionProblem #X5)
- (defconstant $kIPMMsgUnreadable #X6)
- (defconstant $kIPMMsgExpired #X7)
- (defconstant $kIPMMsgNoTranslatableContent #X8)
- (defconstant $kIPMRecipientReqStdCont #X9)
- (defconstant $kIPMRecipientReqSnapShot #XA)
- (defconstant $kIPMNoTransferDiskFull #XB)
- (defconstant $kIPMNoTransferMsgRejectedbyDest #XC)
- (defconstant $kIPMNoTransferMsgTooLarge #XD)
-
- ; ***********************************************************************
- ;
- ; This is the structure that will be returned by enumerate and getmsginfo
- ; This definition is just to give you a template, the position of msgType
- ; is variable since this is a packed structure. procHint and msgType are
- ; packed and even length padded.
- ;
-
- (defrecord IPMMsgInfo
- (sequenceNum :SIGNED-LONG)
- (userData :SIGNED-LONG)
- (respIndex :SIGNED-INTEGER)
- (padByte :UNSIGNED-BYTE)
- (priority :UNSIGNED-BYTE)
- (msgSize :SIGNED-LONG)
- (originalRcptCount :SIGNED-INTEGER)
- (reserved :SIGNED-INTEGER)
- (creationTime :SIGNED-LONG)
- (msgID :IPMMSGID)
- (family :OSTYPE) ; family this msg belongs to (e.g. mail)
- (procHint (:STRING 32))
- (msgType :IPMMSGTYPE)
- )
-
- (%define-record :IPMBLOCKTYPE (find-record-descriptor :OCECREATORTYPE))
-
- (defrecord IPMTOC
- (blockType :OCECREATORTYPE)
- (blockOffset :SIGNED-LONG)
- (blockSize :SIGNED-LONG)
- (blockRefCon :SIGNED-LONG)
- )
-
- ;
- ; The following structure is just to describe the layout of the SingleFilter.
- ; Each field should be packed and word aligned when passed to the IPM ToolBox.
- ;
-
- (defrecord IPMSingleFilter
- (priority :UNSIGNED-BYTE)
- (padByte :UNSIGNED-BYTE)
- (family :OSTYPE) ; family this msg belongs (e.g. mail), '????' for all
- (script :SIGNED-INTEGER) ; Language Identifier
- (hint (:STRING 32))
- (msgType :IPMMSGTYPE)
- )
-
- (defrecord IPMFilter
- (count :SIGNED-INTEGER)
- (sFilters (:ARRAY :IPMSINGLEFILTER (- 1 1 -1)))
- )
-
- ; ***********************************************************************
- ;
- ; Following structures define the “start” of a recipient report block and the
- ; elements of the array respectively.
- ;
-
- (defrecord IPMReportBlockHeader
- (msgID :IPMMSGID) ; message id of the original
- (creationTime :SIGNED-LONG) ; creation time of the report
- )
-
- (defrecord OCERecipientReport
- (rcptIndex :SIGNED-INTEGER) ; index of recipient in original message
- (result :SIGNED-INTEGER) ; result of sending letter to this recipient
- )
-
- ; ***********************************************************************
- (defrecord IPMParamHeader
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
- )
-
- (defrecord IPMOpenContextPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (contextRef :SIGNED-LONG) ; <-- Context reference to be used in further calls
- )
-
- (%define-record :IPMCLOSECONTEXTPB (find-record-descriptor :IPMOPENCONTEXTPB))
-
- (defrecord IPMCreateQueuePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (filler1 :SIGNED-LONG)
- (queue (:POINTER :DSSPEC))
- (identity :SIGNED-LONG) ; used only if queue is remote
- (owner (:POINTER :PACKEDRECORDID)); used only if queue is remote
- )
-
- ; For createqueue and deletequeue only queue and identity are used
- (%define-record :IPMDELETEQUEUEPB (find-record-descriptor :IPMCREATEQUEUEPB))
-
- (defrecord IPMOpenQueuePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (contextRef :SIGNED-LONG)
- (queue (:POINTER :DSSPEC))
- (identity :SIGNED-LONG)
- (filter (:POINTER :IPMFILTER))
- (newQueueRef :SIGNED-LONG)
- (notificationProc :POINTER)
- (userData :SIGNED-LONG)
- (noteType :UNSIGNED-BYTE)
- (padByte :UNSIGNED-BYTE)
- (reserved :SIGNED-LONG)
- (reserved2 :SIGNED-LONG)
- )
-
- (defrecord IPMCloseQueuePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (queueRef :SIGNED-LONG)
- )
-
- (defrecord IPMEnumerateQueuePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (queueRef :SIGNED-LONG)
- (startSeqNum :SIGNED-LONG)
- (getProcHint :BOOLEAN)
- (getMsgType :BOOLEAN)
- (filler :SIGNED-INTEGER)
- (filter (:POINTER :IPMFILTER))
- (numToGet :SIGNED-INTEGER)
- (numGotten :SIGNED-INTEGER)
- (enumCount :SIGNED-LONG)
- (enumBuffer :POINTER) ; will be packed array of IPMMsgInfo
- (actEnumCount :SIGNED-LONG)
- )
-
- (%define-record :IPMCHANGEQUEUEFILTERPB (find-record-descriptor :IPMENUMERATEQUEUEPB))
-
- (defrecord IPMDeleteMsgRangePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (queueRef :SIGNED-LONG)
- (startSeqNum :SIGNED-LONG)
- (endSeqNum :SIGNED-LONG)
- (lastSeqNum :SIGNED-LONG)
- )
-
- (defrecord IPMOpenMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (queueRef :SIGNED-LONG)
- (sequenceNum :SIGNED-LONG)
- (newMsgRef :SIGNED-LONG)
- (actualSeqNum :SIGNED-LONG)
-
- ; ERROR!! Record field EXACTMATCH declared PACKED BOOLEAN !
- (exactMatch :BOOLEAN)
- (padByte :UNSIGNED-BYTE)
- (reserved :SIGNED-LONG)
- )
-
- (defrecord IPMOpenHFSMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (hfsPath (:POINTER :FSSPEC))
- (filler :SIGNED-LONG)
- (newMsgRef :SIGNED-LONG)
- (filler2 :SIGNED-LONG)
-
- ; ERROR!! Record field FILLER3 declared Non-PACKED BYTE !
- (filler3 :UNSIGNED-BYTE)
- (reserved :SIGNED-LONG)
- )
-
- (defrecord IPMOpenBlockAsMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (filler :SIGNED-LONG)
- (newMsgRef :SIGNED-LONG)
- (filler2 (:ARRAY :SIGNED-INTEGER (- 7 1 -1)))
- (blockIndex :SIGNED-INTEGER)
- )
-
- (defrecord IPMCloseMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (deleteMsg :BOOLEAN)
- )
-
- (defrecord IPMGetMsgInfoPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (info (:POINTER :IPMMSGINFO))
- )
-
- (defrecord IPMReadHeaderPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (fieldSelector :SIGNED-INTEGER)
- (offset :SIGNED-LONG)
- (count :SIGNED-LONG)
- (buffer :POINTER)
- (actualCount :SIGNED-LONG)
- (filler :SIGNED-INTEGER)
- (remaining :SIGNED-LONG)
- )
-
- (defrecord IPMReadRecipientPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (rcptIndex :SIGNED-INTEGER)
- (offset :SIGNED-LONG)
- (count :SIGNED-LONG)
- (buffer :POINTER)
- (actualCount :SIGNED-LONG)
- (reserved :SIGNED-INTEGER) ; must be zero
- (remaining :SIGNED-LONG)
- (originalIndex :SIGNED-INTEGER)
- (recipientOffsetFlags :UNSIGNED-BYTE)
- )
-
- ;
- ; replyQueue works like recipient. [can no longer read it via ReadHeader]
- ; OriginalIndex is meaningless, rcptFlags are used seperately and there are
- ; currently none defined.
- ;
- (%define-record :IPMREADREPLYQUEUEPB (find-record-descriptor :IPMREADRECIPIENTPB))
-
- (defrecord IPMGetBlkIndexPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (blockType :OCECREATORTYPE)
- (index :SIGNED-INTEGER)
- (startingFrom :SIGNED-INTEGER)
- (actualBlockType :OCECREATORTYPE)
- (actualBlockIndex :SIGNED-INTEGER)
- )
-
- (defrecord IPMReadMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (mode :SIGNED-INTEGER)
- (offset :SIGNED-LONG)
- (count :SIGNED-LONG)
- (buffer :POINTER)
- (actualCount :SIGNED-LONG)
- (blockIndex :SIGNED-INTEGER)
- (remaining :SIGNED-LONG)
- )
-
- (defrecord IPMVerifySignaturePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (signatureContext :SIGCONTEXTPTR)
- )
-
- (defrecord IPMNewMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (filler :SIGNED-LONG)
- (recipient (:POINTER :DSSPEC))
- (replyQueue (:POINTER :DSSPEC))
- (procHint (:POINTER (:STRING 255)))
- (filler2 :SIGNED-INTEGER)
- (msgType (:POINTER :IPMMSGTYPE))
- (refCon :SIGNED-LONG)
- (newMsgRef :SIGNED-LONG)
- (filler3 :SIGNED-INTEGER)
- (filler4 :SIGNED-LONG)
- (identity :SIGNED-LONG)
- (sender (:POINTER :IPMSENDER))
- (internalUse :SIGNED-LONG)
- (internalUse2 :SIGNED-LONG)
- )
-
- (defrecord IPMNewHFSMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (hfsPath (:POINTER :FSSPEC))
- (recipient (:POINTER :DSSPEC))
- (replyQueue (:POINTER :DSSPEC))
- (procHint (:POINTER (:STRING 255)))
- (filler2 :SIGNED-INTEGER)
- (msgType (:POINTER :IPMMSGTYPE))
- (refCon :SIGNED-LONG)
- (newMsgRef :SIGNED-LONG)
- (filler3 :SIGNED-INTEGER)
- (filler4 :SIGNED-LONG)
- (identity :SIGNED-LONG)
- (sender (:POINTER :IPMSENDER))
- (internalUse :SIGNED-LONG)
- (internalUse2 :SIGNED-LONG)
- )
-
- (defrecord IPMNestMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (filler (:ARRAY :SIGNED-INTEGER (- 9 1 -1)))
- (refCon :SIGNED-LONG)
- (msgToNest :SIGNED-LONG)
- (filler2 :SIGNED-INTEGER)
- (startingOffset :SIGNED-LONG)
- )
-
- (defrecord IPMNewNestedMsgBlockPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (recipient (:POINTER :DSSPEC))
- (replyQueue (:POINTER :DSSPEC))
- (procHint (:POINTER (:STRING 255)))
- (filler1 :SIGNED-INTEGER)
- (msgType (:POINTER :IPMMSGTYPE))
- (refCon :SIGNED-LONG)
- (newMsgRef :SIGNED-LONG)
- (filler2 :SIGNED-INTEGER)
- (startingOffset :SIGNED-LONG)
- (identity :SIGNED-LONG)
- (sender (:POINTER :IPMSENDER))
- (internalUse :SIGNED-LONG)
- (internalUse2 :SIGNED-LONG)
- )
-
- (defrecord IPMEndMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (msgID :IPMMSGID)
- (msgTitle (:POINTER :RSTRING))
- (deliveryNotification :UNSIGNED-BYTE)
- (priority :UNSIGNED-BYTE)
-
- ; ERROR!! Record field CANCEL declared PACKED BOOLEAN !
- (cancel :BOOLEAN)
- (padByte :UNSIGNED-BYTE)
- (reserved :SIGNED-LONG)
- (signature :SIGSIGNATUREPTR)
- (signatureSize :SIZE)
- (signatureContext :SIGCONTEXTPTR)
- (family :OSTYPE) ; family this msg belongs (e.g. mail)
- ; use kIPMFamilyUnspecified by default
- )
-
- (defrecord IPMAddRecipientPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (recipient (:POINTER :DSSPEC))
- (reserved :SIGNED-LONG)
- )
-
- (defrecord IPMAddReplyQueuePB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (filler :SIGNED-LONG)
- (replyQueue (:POINTER :DSSPEC))
- )
-
- (defrecord IPMNewBlockPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (blockType :OCECREATORTYPE)
- (filler (:ARRAY :SIGNED-INTEGER (- 5 1 -1)))
- (refCon :SIGNED-LONG)
- (filler2 (:ARRAY :SIGNED-INTEGER (- 3 1 -1)))
- (startingOffset :SIGNED-LONG)
- )
-
- (defrecord IPMWriteMsgPB
- (qLink :POINTER)
- (reservedH1 :SIGNED-LONG)
- (reservedH2 :SIGNED-LONG)
- (ioCompletion :POINTER)
- (ioResult :SIGNED-INTEGER)
- (saveA5 :SIGNED-LONG)
- (reqCode :SIGNED-INTEGER)
-
- (msgRef :SIGNED-LONG)
- (mode :SIGNED-INTEGER)
- (offset :SIGNED-LONG)
- (count :SIGNED-LONG)
- (buffer :POINTER)
- (actualCount :SIGNED-LONG)
- (currentBlock :BOOLEAN)
- )
-
- (defrecord IPMParamBlock
- (:variant
- ((header :IPMPARAMHEADER))
- ((openContextPB :IPMOPENCONTEXTPB))
- ((closeContextPB :IPMOPENCONTEXTPB))
- ((createQueuePB :IPMCREATEQUEUEPB))
- ((deleteQueuePB :IPMCREATEQUEUEPB))
- ((openQueuePB :IPMOPENQUEUEPB))
- ((closeQueuePB :IPMCLOSEQUEUEPB))
- ((enumerateQueuePB :IPMENUMERATEQUEUEPB))
- ((changeQueueFilterPB :IPMENUMERATEQUEUEPB))
- ((deleteMsgRangePB :IPMDELETEMSGRANGEPB))
- ((openMsgPB :IPMOPENMSGPB))
- ((openHFSMsgPB :IPMOPENHFSMSGPB))
- ((openBlockAsMsgPB :IPMOPENBLOCKASMSGPB))
- ((closeMsgPB :IPMCLOSEMSGPB))
- ((getMsgInfoPB :IPMGETMSGINFOPB))
- ((readHeaderPB :IPMREADHEADERPB))
- ((readRecipientPB :IPMREADRECIPIENTPB))
- ((readReplyQueuePB :IPMREADRECIPIENTPB))
- ((getBlkIndexPB :IPMGETBLKINDEXPB))
- ((readMsgPB :IPMREADMSGPB))
- ((verifySignaturePB :IPMVERIFYSIGNATUREPB))
- ((newMsgPB :IPMNEWMSGPB))
- ((newHFSMsgPB :IPMNEWHFSMSGPB))
- ((nestMsgPB :IPMNESTMSGPB))
- ((newNestedMsgBlockPB :IPMNEWNESTEDMSGBLOCKPB))
- ((endMsgPB :IPMENDMSGPB))
- ((addRecipientPB :IPMADDRECIPIENTPB))
- ((addReplyQueuePB :IPMADDREPLYQUEUEPB))
- ((newBlockPB :IPMNEWBLOCKPB))
- ((writeMsgPB :IPMWRITEMSGPB))
- ))
-
- (def-mactype :IPMPARAMBLOCKPTR (find-mactype :POINTER))
-
- ; Request codes
- (defconstant $kIPMOpenContext #X400)
- (defconstant $kIPMCloseContext #X401)
- (defconstant $kIPMNewMsg #X402)
- (defconstant $kIPMAddRecipient #X403)
- (defconstant $kIPMNewBlock #X404)
- (defconstant $kIPMNewNestedMsgBlock #X405)
- (defconstant $kIPMNestMsg #X406)
- (defconstant $kIPMWriteMsg #X407)
- (defconstant $kIPMEndMsg #X408)
- (defconstant $kIPMOpenQueue #X409)
- (defconstant $kIPMCloseQueue #X40A)
- (defconstant $kIPMOpenMsg #X40B)
- (defconstant $kIPMCloseMsg #X40C)
- (defconstant $kIPMReadMsg #X40D)
- (defconstant $kIPMReadHeader #X40E)
- (defconstant $kIPMOpenBlockAsMsg #X40F)
- (defconstant $kIPMReadRecipient #X410)
- (defconstant $kIPMCreateQueue #X411)
- (defconstant $kIPMDeleteQueue #X412)
- (defconstant $kIPMEnumerateQueue #X413)
- (defconstant $kIPMChangeQueueFilter #X414)
- (defconstant $kIPMDeleteMsgRange #X415)
- (defconstant $kIPMOpenHFSMsg #X417)
- (defconstant $kIPMGetBlkIndex #X418)
- (defconstant $kIPMGetMsgInfo #X419)
-
- (defconstant $kIPMAddReplyQueue #X41D)
- (defconstant $kIPMNewHFSMsg #X41E)
-
- (defconstant $kIPMReadReplyQueue #X421)
- (defconstant $kIPMVerifySignature #X422)
-
-
- (deftrap _ipmopencontext ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1024 :signed-integer)))
-
-
- (deftrap _ipmclosecontext ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1025 :signed-integer)))
-
-
- (deftrap _ipmnewmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1026 :signed-integer)))
-
-
- (deftrap _ipmnewblock ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1028 :signed-integer)))
-
-
- (deftrap _ipmnewnestedmsgblock ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1029 :signed-integer)))
-
-
- (deftrap _ipmnestmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1030 :signed-integer)))
-
-
- (deftrap _ipmwritemsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1031 :signed-integer)))
-
-
- (deftrap _ipmendmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1032 :signed-integer)))
-
-
- (deftrap _ipmopenqueue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1033 :signed-integer)))
-
-
- (deftrap _ipmclosequeue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1034 :signed-integer)))
-
-
- (deftrap _ipmverifysignature ((paramblock (:pointer :ipmparamblock)))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock (69337088 :signed-longint)))
-
-
- (deftrap _ipmopenmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1035 :signed-integer)))
-
-
- (deftrap _ipmclosemsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1036 :signed-integer)))
-
-
- (deftrap _ipmreadmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1037 :signed-integer)))
-
-
- (deftrap _ipmreadheader ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1038 :signed-integer)))
-
-
- (deftrap _ipmopenblockasmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1039 :signed-integer)))
-
-
- (deftrap _ipmnewhfsmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1054 :signed-integer)))
-
-
- (deftrap _ipmreadrecipient ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1040 :signed-integer)))
-
-
- (deftrap _ipmreadreplyqueue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1057 :signed-integer)))
-
-
- (deftrap _ipmcreatequeue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1041 :signed-integer)))
-
-
- (deftrap _ipmdeletequeue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1042 :signed-integer)))
-
-
- (deftrap _ipmenumeratequeue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1043 :signed-integer)))
-
-
- (deftrap _ipmchangequeuefilter ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1044 :signed-integer)))
-
-
- (deftrap _ipmdeletemsgrange ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1045 :signed-integer)))
-
-
- (deftrap _ipmaddrecipient ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1027 :signed-integer)))
-
-
- (deftrap _ipmaddreplyqueue ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1053 :signed-integer)))
-
-
- (deftrap _ipmopenhfsmsg ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1047 :signed-integer)))
-
-
- (deftrap _ipmgetblkindex ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1048 :signed-integer)))
-
-
- (deftrap _ipmgetmsginfo ((paramblock (:pointer :ipmparamblock)) (async :boolean))
- (:stack :signed-integer)
- (:stack-trap #xAA5E paramblock async (1049 :signed-integer)))
-
- ; **************************************************************************************
- ; EXTERNAL ROUTINES
-
- (defconstant $kOCESizePackedRecipient 830)
- (defconstant $kOCEPackRecipient 831)
- (defconstant $kOCEUnpackRecipient 832)
- (defconstant $kOCEStreamRecipient 833)
- (defconstant $kOCEGetRecipientType 834)
- (defconstant $kOCESetRecipientType 835)
-
- ;
- ; Compute the space that a OCERecipient would take if it were in packed
- ; form. [Note: does NOT even pad extensionSize, so you may get an odd #back out]
- ; Safe to pass dereferenced handle(s).
- ;
-
-
- (deftrap _ocesizepackedrecipient ((rcpt :dsspec))
- (:stack :signed-integer)
- (:stack-trap #xAA5C :d0 830 rcpt))
-
- ;
- ; Take an OCERecipient (scatter) and (gather) stream into the specified
- ; buffer. It is assumed that there is sufficient space in the buffer (that is
- ; OCESizePackedRecipient). Safe to pass dereferenced handle(s).
- ;
-
- (deftrap _ocepackrecipient ((rcpt :dsspec) (buffer :pointer))
- (:stack :signed-integer)
- (:stack-trap #xAA5C :d0 831 rcpt buffer))
-
- ;
- ; Take a packed OCERecipient and cast a the OCERecipient frame over it. Returns
- ; amBadDestId if it doesn't look like an OCERecipient. Safe to pass dereferenced
- ; handle(s).
- ;
-
- (deftrap _oceunpackrecipient ((buffer :pointer) (rcpt (:pointer :dsspec)) (entityspecifier (:pointer :recordid)))
- (:stack :signed-integer)
- (:stack-trap #xAA5C :d0 832 buffer rcpt entityspecifier))
-
- ;
- ; Take an OCERecipient (scatter) and (gather) stream using the specified
- ; function. Safe to pass dereferenced handle(s). If streamer function returns
- ; OCEError OCEStreamRecipient stops execution and passes the error back to the caller
- ;
-
- (def-mactype :OCERECIPIENTSTREAMER (find-mactype :POINTER))
- ; FUNCTION OCERecipientStreamer(
- ; VAR buffer: void; count: LONGINT; eof: BOOLEAN; userData: LONGINT): OSErr;
-
-
- (deftrap _ocestreamrecipient ((rcpt :dsspec) (stream :pointer) (userdata :signed-long) (actualcount (:pointer :signed-long)))
- (:stack :signed-integer)
- (:stack-trap #xAA5C :d0 833 rcpt stream userdata actualcount))
-
- ; Get the OCERecipient's extensionType. Safe to pass dereferenced handle(s).
-
-
- (deftrap _ocegetrecipienttype ((cid :creationid))
- (:stack :ostype)
- (:stack-trap #xAA5C :d0 834 cid))
-
- ;
- ; Set the OCERecipient's extensionType in the specified cid. (Note: we do NOT
- ; check for a nil pointer). If the extensionType is 'entn', the cid is assumed
- ; to be "valid" and is not touched. Note: to properly handle non 'entn''s this
- ; routine must and will zero the high LONGINT (source) of the cid! Safe to pass
- ; dereferenced handle(s).
- ;
-
- (deftrap _ocesetrecipienttype ((extensiontype :ostype) (cid (:pointer :creationid)))
- nil
- (:stack-trap #xAA5C :d0 835 extensiontype cid))
-
- ; $ENDC ; UsingOCEMessaging
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
- (export '($KOCESETRECIPIENTTYPE $KOCEGETRECIPIENTTYPE $KOCESTREAMRECIPIENT
- $KOCEUNPACKRECIPIENT $KOCEPACKRECIPIENT $KOCESIZEPACKEDRECIPIENT
- $KIPMVERIFYSIGNATURE $KIPMREADREPLYQUEUE $KIPMNEWHFSMSG
- $KIPMADDREPLYQUEUE $KIPMGETMSGINFO $KIPMGETBLKINDEX $KIPMOPENHFSMSG
- $KIPMDELETEMSGRANGE $KIPMCHANGEQUEUEFILTER $KIPMENUMERATEQUEUE
- $KIPMDELETEQUEUE $KIPMCREATEQUEUE $KIPMREADRECIPIENT
- $KIPMOPENBLOCKASMSG $KIPMREADHEADER $KIPMREADMSG $KIPMCLOSEMSG
- $KIPMOPENMSG $KIPMCLOSEQUEUE $KIPMOPENQUEUE $KIPMENDMSG $KIPMWRITEMSG
- $KIPMNESTMSG $KIPMNEWNESTEDMSGBLOCK $KIPMNEWBLOCK $KIPMADDRECIPIENT
- $KIPMNEWMSG $KIPMCLOSECONTEXT $KIPMOPENCONTEXT
- $KIPMNOTRANSFERMSGTOOLARGE $KIPMNOTRANSFERMSGREJECTEDBYDEST
- $KIPMNOTRANSFERDISKFULL $KIPMRECIPIENTREQSNAPSHOT
- $KIPMRECIPIENTREQSTDCONT $KIPMMSGNOTRANSLATABLECONTENT
- $KIPMMSGEXPIRED $KIPMMSGUNREADABLE $KIPMGROUPEXPANSIONPROBLEM
- $KIPMRECIPIENTACCESSDENIED $KIPMRECIPIENTAMBIGUOUS
- $KIPMRECIPIENTMALFORMED $KIPMNOSUCHRECIPIENT
- $KIPMENCLOSEORIGINALONERRORMASK $KIPMORIGINALONLYONERRORMASK
- $KIPMSUMMARYREPORTMASK $KIPMIMMEDIATEREPORTMASK
- $KIPMENCLOSEORIGINALMASK $KIPMDONTENCLOSEORIGINALMASK
- $KIPMNONDELIVERYNOTIFICATIONMASK $KIPMDELIVERYNOTIFICATIONMASK
- $KIPMNONOTIFICATIONMASK $KIPMORIGINALONLYONERRORBIT
- $KIPMSUMMARYREPORTBIT $KIPMENCLOSEORIGINALBIT
- $KIPMNONDELIVERYNOTIFICATIONBIT $KIPMDELIVERYNOTIFICATIONBIT
- $KIPMFIXEDINFO $KIPMMESSAGETYPE $KIPMMESSAGETITLE $KIPMPROCESSHINT
- $KIPMSENDER $KIPMTOC $KIPMWSRECEIVERNBPTYPE
- $KOCEPACKEDRECIPIENTMAXBYTES $KOCEDONTUSEHANDYDIAL $KOCEUSEHANDYDIAL
- $KOCESPATXTN $KOCEATTRXTN $KOCEQNAMXTN $KOCEADDRXTN $KOCEAPHNXTN
- $KOCEENTNXTN $KOCEALANXTN $KIPMSTRINGFORMATTYPE $KIPMOSFORMATTYPE
- $KIPMDIGITALSIGNATURE $KIPMREPORTINFO $KIPMENCLOSEDMSGTYPE
- $KIPMREPORTNOTIFY $KIPMSIGNATURE $KIPMFAMILYWILDCARD
- $KIPMFAMILYUNSPECIFIED $KIPMTYPEWILDCARD $KIPMBCCRECMASK
- $KIPMREPORTERRECMASK $KIPMFEEDBACKRECMASK $KIPMDUMMYRECMASK
- $KIPMFROMDISTLISTMASK $KIPMBCCRECBIT $KIPMREPORTERRECBIT
- $KIPMFEEDBACKRECBIT $KIPMDUMMYRECBIT $KIPMFROMDISTLISTBIT
- $KIPMSENDERRECORDIDTAG $KIPMSENDERRSTRINGTAG $KIPMDELETEMSGMASK
- $KIPMNEWMSGMASK $KIPMUPDATEMSGMASK $KIPMDELETEMSGBIT $KIPMNEWMSGBIT
- $KIPMUPDATEMSGBIT $KIPMFROMMARK $KIPMFROMLEOM $KIPMFROMSTART
- $KIPMATMARK $KIPMNORMALPRIORITY $KIPMANYPRIORITY))
- (provide-interface 'OCEMessaging)